package net.chenlin.dp.modules.business.service;

import net.chenlin.dp.common.entity.Page;
import net.chenlin.dp.common.entity.R;
import net.chenlin.dp.modules.business.entity.dto.deviceCalibration.CalibrationParam;
import net.chenlin.dp.modules.business.entity.dto.deviceCalibration.CheckParam;
import net.chenlin.dp.modules.business.entity.dto.deviceCalibration.CountRatioDto;
import net.chenlin.dp.modules.business.entity.dto.deviceCalibration.DeviceCalibrationDetailDto;
import net.chenlin.dp.modules.business.entity.vo.deviceCalibration.DeviceCalibrationCheckVo;
import net.chenlin.dp.modules.business.entity.vo.deviceCalibration.DeviceCalibrationDetailVo;
import net.chenlin.dp.modules.business.entity.vo.deviceCalibration.DeviceCalibrationListVo;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

public interface DeviceCalibrationService {

    Page<DeviceCalibrationListVo> getDeviceCalibrationList(Map<String, Object> params);

    void calibration(CalibrationParam param) throws ParseException;

    List<DeviceCalibrationDetailVo> getDeviceCalibrationResult(Map<String, Object> params);

    void check(CheckParam param) throws ParseException;

    Page<DeviceCalibrationCheckVo> getDeviceCalibrationCheckResult(Map<String, Object> params);

    R getStep();

    R countRatio(CountRatioDto dto) throws ParseException;

    Page<DeviceCalibrationDetailVo> getDeviceCalibrationDetailList(Map<String, Object> params);

    R updateCalibrationFactor(DeviceCalibrationDetailDto dto);
}
